package cn.slipi.admin.biz.vo.iface;

import cn.slipi.admin.biz.vo.base.BaseVo;
import cn.slipi.admin.service.dto.in.producer.HystrixParam;
import lombok.Data;

@Data
public class PdrApiVo extends BaseVo {

    private Integer id;

    /**
     * 所属项目id
     */
    private Integer pdrProjectId;

    /**
     * 接口名称
     */
    private String name;

    /**
     * 接口描述
     */
    private String description;

    /**
     * 接口对外名称
     */
    private String code;

    /**
     * 接口请求路径
     */
    private String path;

    /**
     * 接口请求类型（GET,PUT,POST,DELETE）
     */
    private String queryType;

    /**
     * 负载地址（单节点则为实际地址）
     */
    private String loadIp;

    /**
     * 负载节点配置（{"strategy":"ROUND","retryTime":"1","data":[{"server":"127.0.0.1","weight":"1"}]}）
     */
    private String loadBalance;

    /**
     * 熔断降级配置（{"commandKey":"","errorThresholdPercentage":"50","groupKey":"","requestVolumeThreshold":"20","sleepWindowInMilliseconds":"5000","timeoutInMilliseconds":"1000"}）
     */
//    private HystrixParam hystrixParam;

    /**
     * 灰度发布
     */
    private String grayRelease;

    /**
     * 每秒请求数
     */
    private Integer permitsPerSecond;

    /**
     * 发布快照
     */
    private String publishSnap;

    /**
     * 接口协议（HTTP,WEBSERVICE）
     */
    private String protocol;

    /**
     * 传输协议（JSON,XML）
     */
    private String translateProtocol;

    /**
     * ip 黑名单
     */
    private String blackList;

    /**
     * 是否启用接口（0：关停，1：启用）
     */
    private Integer enable;

    /**
     * 入参
     */
    private String inParam;

    /**
     * 出参
     */
    private String outParam;

    /**
     * 授权出参
     */
    private String globalGrantParam;

    /**
     * 发布网关时间 publish_time
     */
    private Long publishTime;

    /**
     * 关键信息更新时间 key_update_time
     */
    private Long keyUpdateTime;

}
